<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 6.3.0">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32-next.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16-next.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/all.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"example.com","root":"/","scheme":"Pisces","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":false,"show_result":false,"style":null},"back2top":{"enable":true,"sidebar":false,"scrollpercent":false},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":false,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":false,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}}};
  </script>

  <meta name="description" content="从古至今，密码学一直贯穿在历史长河当中，一种新的密码加密方法出现，随着加密方法的广泛使用，就有一种解密方法与之对抗，此起彼伏。 在这场人类顶尖智力的漫长博弈历史中，共分为两大部分，前部分叫做古典密码学，后部分叫做现代密码学。 密码学的历史第一代加密法：隐藏法，顾名思义，隐藏法则是把信息藏起来，比如古时候，传递消息前，先把送信人的头发剃光，然后将保密消息写到头皮上，待到头发重新长出后再让送信人出发。">
<meta property="og:type" content="article">
<meta property="og:title" content="卓克的密码学课—破解不了的密码就是最好用的吗？">
<meta property="og:url" content="http://example.com/2023/04/17/%E5%8D%93%E5%85%8B%E7%9A%84%E5%AF%86%E7%A0%81%E5%AD%A6%E8%AF%BE%E2%80%94%E7%A0%B4%E8%A7%A3%E4%B8%8D%E4%BA%86%E7%9A%84%E5%AF%86%E7%A0%81%E5%B0%B1%E6%98%AF%E6%9C%80%E5%A5%BD%E7%94%A8%E7%9A%84%E5%90%97%EF%BC%9F/index.html">
<meta property="og:site_name" content="三白书房">
<meta property="og:description" content="从古至今，密码学一直贯穿在历史长河当中，一种新的密码加密方法出现，随着加密方法的广泛使用，就有一种解密方法与之对抗，此起彼伏。 在这场人类顶尖智力的漫长博弈历史中，共分为两大部分，前部分叫做古典密码学，后部分叫做现代密码学。 密码学的历史第一代加密法：隐藏法，顾名思义，隐藏法则是把信息藏起来，比如古时候，传递消息前，先把送信人的头发剃光，然后将保密消息写到头皮上，待到头发重新长出后再让送信人出发。">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://mmbiz.qpic.cn/mmbiz_jpg/cOUjXC3m7od3TVfd79oIqSdodnsFF0UHMKHXzs3WticUomQytvCIMFTsfah1zWeyricHzpPhP11F13icDOFf9welA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1">
<meta property="article:published_time" content="2023-04-17T00:00:23.000Z">
<meta property="article:modified_time" content="2023-05-07T13:50:37.320Z">
<meta property="article:author" content="叨叨的三白">
<meta property="article:tag" content="社科">
<meta property="article:tag" content="密码学">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://mmbiz.qpic.cn/mmbiz_jpg/cOUjXC3m7od3TVfd79oIqSdodnsFF0UHMKHXzs3WticUomQytvCIMFTsfah1zWeyricHzpPhP11F13icDOFf9welA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1">

<link rel="canonical" href="http://example.com/2023/04/17/%E5%8D%93%E5%85%8B%E7%9A%84%E5%AF%86%E7%A0%81%E5%AD%A6%E8%AF%BE%E2%80%94%E7%A0%B4%E8%A7%A3%E4%B8%8D%E4%BA%86%E7%9A%84%E5%AF%86%E7%A0%81%E5%B0%B1%E6%98%AF%E6%9C%80%E5%A5%BD%E7%94%A8%E7%9A%84%E5%90%97%EF%BC%9F/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : false,
    isPost : true,
    lang   : 'zh-CN'
  };
</script>

  <title>卓克的密码学课—破解不了的密码就是最好用的吗？ | 三白书房</title>
  






  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">三白书房</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="main-menu menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a>

  </li>
        <li class="menu-item menu-item-tags">

    <a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a>

  </li>
        <li class="menu-item menu-item-categories">

    <a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a>

  </li>
  </ul>
</nav>




</div>
    </header>

    
  <div class="back-to-top">
    <i class="fa fa-arrow-up"></i>
    <span>0%</span>
  </div>


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content post posts-expand">
            

    
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="http://example.com/2023/04/17/%E5%8D%93%E5%85%8B%E7%9A%84%E5%AF%86%E7%A0%81%E5%AD%A6%E8%AF%BE%E2%80%94%E7%A0%B4%E8%A7%A3%E4%B8%8D%E4%BA%86%E7%9A%84%E5%AF%86%E7%A0%81%E5%B0%B1%E6%98%AF%E6%9C%80%E5%A5%BD%E7%94%A8%E7%9A%84%E5%90%97%EF%BC%9F/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="叨叨的三白">
      <meta itemprop="description" content="浮生若梦，为欢几何">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="三白书房">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          卓克的密码学课—破解不了的密码就是最好用的吗？
        </h1>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-calendar"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2023-04-17 08:00:23" itemprop="dateCreated datePublished" datetime="2023-04-17T08:00:23+08:00">2023-04-17</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="far fa-calendar-check"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2023-05-07 21:50:37" itemprop="dateModified" datetime="2023-05-07T21:50:37+08:00">2023-05-07</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="far fa-folder"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/" itemprop="url" rel="index"><span itemprop="name">读书笔记</span></a>
                </span>
            </span>

          
            <span class="post-meta-item" title="阅读次数" id="busuanzi_container_page_pv" style="display: none;">
              <span class="post-meta-item-icon">
                <i class="fa fa-eye"></i>
              </span>
              <span class="post-meta-item-text">阅读次数：</span>
              <span id="busuanzi_value_page_pv"></span>
            </span><br>
            <span class="post-meta-item" title="本文字数">
              <span class="post-meta-item-icon">
                <i class="far fa-file-word"></i>
              </span>
                <span class="post-meta-item-text">本文字数：</span>
              <span>5k</span>
            </span>
            <span class="post-meta-item" title="阅读时长">
              <span class="post-meta-item-icon">
                <i class="far fa-clock"></i>
              </span>
                <span class="post-meta-item-text">阅读时长 &asymp;</span>
              <span>5 分钟</span>
            </span>

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
        <p>从古至今，密码学一直贯穿在历史长河当中，一种新的密码加密方法出现，随着加密方法的广泛使用，就有一种解密方法与之对抗，此起彼伏。</p>
<p>在这场人类顶尖智力的漫长博弈历史中，共分为两大部分，前部分叫做古典密码学，后部分叫做现代密码学。</p>
<h3 id="密码学的历史"><a href="#密码学的历史" class="headerlink" title="密码学的历史"></a>密码学的历史</h3><p><strong>第一代加密法：隐藏法，</strong>顾名思义，隐藏法则是把信息藏起来，比如古时候，传递消息前，先把送信人的头发剃光，然后将保密消息写到头皮上，待到头发重新长出后再让送信人出发。破解：想方设法的找出来。还是上面的例子，对于卫兵来说，只需要仔细留意头皮颜色即可。<span id="more"></span></p>
<p>第一代的加密法根本上来讲就是躲藏和翻找的游戏。时至今日，人们藏私房钱用的还是这个方法。</p>
<p><strong>第二代加密法：移位法和替代法</strong>。移位指将数字或字母往后移位，替代则把文中一部分字母用其他字母代替。这个方法直到16世纪，欧洲人都没有破解法，直到数学–概率论的出现。</p>
<p>替代法用到的破解方法叫频率分析法，它的原理是这样的：英文中字母出现的频率不一样，如e出现频率最高，占12.7%，通过分析频率最高的字母，则知道其替代的是哪个字母。破解实质是通过概率论大幅降低字母排列组合的可能性。简单的替代法被破解后，又有了新的加密法：同音替代法，比如同一个字母使用多个数字替代，越常用的字母，比如e，就用越多的符号替代它，这样总不能算出概率吧？但同音替代法也很快被破解，其对策是：通过字母的前后顺序关系来猜，比如字母q后面出现的最大可能是u，而q又是一个不常使用的字母，则很大概率猜出来u是被什么替代了。从第二代加密开始，数学开始加速密码学加密解密的进化。</p>
<p><strong>第三代加密法：维吉尼亚密码</strong>。替代法容易暴露频率特征，为了掩盖，解决办法就是使用多套符号代替原来的文字。使用了26套字符的方法，就是维吉尼亚加密法。维吉尼亚具体的加密过程是这样的：对26个字母形成26*26的表格，比如，使用4套密码加密时，指定原文第1个字母用第8套密码代替，第2个字母用第12套密码代替，第3个字母用第5套密码代替，第4个字母用第9套密码代替，人们事先规定每个字母用了哪套移位法，这个规则就叫做钥匙，钥匙最初是一个单词，比如yes，代表加密时第1个字母往后移25位（字母表y排25位），依次类推，然后循坏，这样原文中同一个字母将会被替换成不同的字符，没有了频率特征。</p>
<p>维吉尼亚密码于16世纪出现，在它出现后的200年内，几乎没人使用，原因很简单–太麻烦了。使用维吉尼亚加密法加密完一篇500字的短文需要3个小时高强度对照，而且容易出错，直到蒸汽机和电动机发明后才开始得到广泛使用。</p>
<p>维吉尼亚加密法直到公元1900年左右才被破解，因为其钥匙的可能性非常多，密文中拼写完全一样的字符，对应的原文可能性也是巨量的，比如说，密文是10个字母，钥匙也是10个字母，那么原文就有10^10，也就是100亿种可能性。最开始的维吉尼亚加密法，我们管它叫做1.0版本，它的破解过程是这样的：从密文中把完全一样的单词挑出来，从中总结规律，分析出钥匙的长度。第一步，从密文中找出拼写完全相同的字母串；第二步，数一数，它们第一次出现到第二次出现，中间隔了多少个字母；中间的字母可能是钥匙使用了N次，其中N是这段字母个数的因子，哪个因数在所有的密文的因数列表里都存在，哪个因数对应的便是钥匙长度，知道长度后，比如长度为5，则可单独把第1、第6、第11、第16…这些字母单独拿出来，放到一起，得到A组，依次可以得到5个组，记作ABCDE组，每个组都是由单独的一套移位法加密过的文字，使用之前的频率分析法则可以破解。猜中钥匙长度就等于把维吉尼亚密码法化简为N套最基础的移位法。</p>
<p>随着1.0版本的维吉尼亚加密法被破解，又诞生了维吉尼亚加密法的2.0版本：增加钥匙长度，每套加密法的字母数量变少，几乎不会表现出频率特征。其破解法是这样的：假设原文中一定会出现常用的单词，然后拿它去和密文对照，倒推钥匙（常用词如the in at）。2.0版本因为钥匙的问题被破解，3.0版本改成了单次钥匙簿密码法–所有钥匙只使用一次。它是绝对安全的加密法，但是效率非常低，而且无法产生绝对随机字母排序，因此，实际上是很难使用的， 码学是一门需要想方设方给别人读取信息制造更多麻烦，与此同时又不给自己读取信息增加太多麻烦的学问。</p>
<p><strong>第四代加密法：恩尼格玛机（Enigma）</strong>，它本质上还是第二代加密法–替代和移位法，但因为可以切换无穷多种加密配套组合，所以对抗频率分析极为有效，也标志着密码战进入机械电子时代。恩尼格玛机仅仅压制解密法25年左右，就被图灵破解。恩尼格玛机的破解过程简要分三步：第一步、波兰密码学家重视恩尼格玛机，搞清楚了内部结构；第二步，德国人每发一条信息单独使用一把钥匙，密码簿的钥匙用来加密每条消息的开头的小钥匙，小钥匙加密后面的真正消息，其中小钥匙被加密2次（确认信号没被干扰或操作没有失误），第三步，利用重复特性，先破解小钥匙，利用每个字母形成环的特性（出现重复），算出规律如下：环的数量、连接数的数量，是由恩尼格玛机初始设定决定的。</p>
<p><img src="https://mmbiz.qpic.cn/mmbiz_jpg/cOUjXC3m7od3TVfd79oIqSdodnsFF0UHMKHXzs3WticUomQytvCIMFTsfah1zWeyricHzpPhP11F13icDOFf9welA/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1&wx_co=1" alt="图片"></p>
<p>*图源网络</p>
<p>恩尼格玛机第一次破解后，机器进行了升级，难度变大：第一，编码器齿轮增加，接线板数量也增加；第二，提供钥匙的间谍突然消失。但由于德军操作不规范等原因，比如3个初始值经常不规范，设置的是键盘相邻的3个字母（如JKL），图灵分析出一些规律，天气（wetter）这个词每天早上6点到6:05必然出现，而且两个t挨着，恩尼格玛机对同一个字母连续加密的话，是不会加密成相同字母的，而且这个字母也不会被加密成它本身，因此可以对着密文，找到wetter对应的密文到底是哪几个字母，这仅仅是成功的第一步；用这6个原文对应的6个密文，需要求解恩尼格玛机的初始设定，需要建立它们对应的数学关系，参照第一代机器的破解法，其初始设定通过数学分析，由1.6*10^20多种可能性缩减到了105万种，然后再通过一种破解机器（起名为“炸弹”）来计算，到1942年，破解钥匙大概只需要1小时。电影《模仿游戏》讲述的正是经过艺术加工的破解过程，密码学上因为保密法的存在，不公平的待遇和受委屈的人非常多，破解的关键人物图灵协助军方破解德国的著名密码系统Enigma，帮助盟军取得了二战的胜利，却因同性恋罪接受化学阉割，吃下含有氰化物的苹果中毒身亡，享年42岁，直到公元2013年才被赦免，不免令人感叹。从恩尼格玛机的加密和破解来看，随着密码学的发展，“如何加密”的操作过程变得不再隐秘，钥匙的复杂性更加重要。</p>
<p><strong>第五代加密法：魔王加密系统（Lucifer）</strong>，它是密码学从古典迈入现代的标志之一。计算机的出现，密码的复杂度获得大量提升。字母转化为ASCII，由数字0和1的组合，字母为最小操作的单位的概念消失，数字化的加密，打乱的是语言规律的底层结构，改变发生在字母内部，此时开始，过程不再保密，每个人可以查到技术细节，加密变成规范，有了官方标准（如DES，第五代密码法，又称魔王加密）。比如，Alice和Bob通信，Eve想偷听，用魔王可以保证信息安全，但无法保证钥匙安全。它们是如何解决钥匙的呢？–利用数学的不可逆操作，这种操作叫做“模运算”（举例：如11*9&#x3D;99,其mod13为8，从左边可以往右推，反过来却不能），当模比较小的时候，可以逆运算的数字比较多；但是当模大到一定程度时，就完全没有逆运算了，这是数学决定的。于是，过程是这样的：第一步，爱丽丝和鲍勃两个人都约定使用7^X这种函数，只不过是在模等于11的情况下运行的；第二步，爱丽丝随便想出一个数A，比如说是3，鲍勃也随便想出一个数B，比如说是6；第三步，他们两个人分别把自己想出来的这个数，带入刚刚那个函数计算一下。比如爱丽丝算完等于α，鲍勃算完等于β；第四步，两人把计算结果告诉对方，直接打电话也行，写信也行，反正是不怕被伊芙偷听的。原因我们刚刚说过：因为伊芙偷听到的只不过是模运算的结果，而这个结果是不可逆的，所以就算伊芙知道结果，也没法倒推出之前的值；第五步，等爱丽丝和鲍勃都得到对方的结果之后，爱丽丝再做一次计算题，她做的是β^A（mod11），鲍勃也算一次，他的题目是a^B(mod11)。当然，你不用管为什么非得是β^A、α^B，这个是数学运算保证的，这样算是一定正确的。这两个人算完后，奇怪的事就会出现——他们将得到完全一样的结果，这个结果就是9。他们得到的结果相同，那么这个结果就可以当作他们的钥匙。这种计算结果一样的函数是由Diffie和Hellman找出来的，又称DH方案。</p>
<p><strong>第六代加密法：RSA加密法</strong>，它是由Ron Rivest、Adi Shamir、Leonard Adleman三者创立的，因此命名也是用他们的名字。RSA加密过程：第一步，爱丽丝有很多把锁，每把锁都有两把不同的钥匙，一把专门用来上锁而不能开锁，另一把专门用来开锁而不能上锁。第二步，爱丽丝把那把用来上锁的钥匙，尽量多地赠送给每个可能和她通信的人。这些人拿到钥匙后，就可以把要跟爱丽丝说的话写下来再用爱丽丝给的钥匙把锁锁上，然后寄给爱丽丝。第三步，爱丽丝拿到锁好的盒子后，用另外一把只有她才有的专用钥匙打开盒子，就可以看到信里的内容了。过程的关键是对同一把锁，上锁和开锁是用两把不同的钥匙。</p>
<p>RSA叫“非对称钥匙”或“非对称加密”。其中公钥是公开的，每个人使用自己发布的公钥给自己发信息，私钥是不公开的，可以解开用自己发布的公钥加密过的信息。使用的数学原理是利用两个素数（质数）相乘的乘积N作公钥，两个素数作私钥，N越大，找到两个素数的时间就越夸张。RSA加密法暂时没有被破解。</p>
<p>RSA加密法有很多应用，譬如使用数字签名来确认发信人身份，只要把RSA公钥加密私钥解密的过程，反着操作一遍，就可以起到确认身份的功能。</p>
<p><strong>第七代加密法：量子加密</strong>。其运用的主要是测不准原理和特殊算法，从物理学和数学原理上是不可破解的。传统计算机一个单元只能存储0或1，量子计算机一个单元的数据总是处于叠加态，所以一个量子存储单位在某一时刻，可以同时存储2^N个数据；量子计算机一次操作就相当于传统计算机的很多次操作。那有了量子计算机后，是不是我们的RSA加密就会立马被破解呢？其实不是的，量子计算机只是速度快，仍需要花时间，即使如此，只要把RSA的N增大，还是足够应付初期的量子计算机。况且当前量子计算机的硬件也还没搞定吗，主要是没有特别好的手段控制量子按照算法的步骤运转，正如光的双缝干涉实验那样，我们的测量行为也会影响量子的状态。当然，即使量子计算机会威胁到我们的密码安全，我们也不应该去过于担忧，由新技术导致的问题，最好的解决方案不是禁令，而是更新技术。</p>
<h3 id="密码怎么设置才安全"><a href="#密码怎么设置才安全" class="headerlink" title="密码怎么设置才安全"></a>密码怎么设置才安全</h3><p>银行卡的密码只有6位，它足够安全吗？密码只有6位，更多是出于使用方便考虑–有一系列科学研究结论显示，人在无压力的时候，轻松记住的一串数字的长度，大约就是5-7位，所以就取这中间值6位，当作密码的长度。银行使用的6位数密码，也会对其做RSA加密，加密后会是标准格式的一长串字符了。对只截获了密文的黑客来说，到底密码是6位还是12位，已经没有安全性的强弱之分。而且，银行会做错误次数限制，防止暴力破解。数字加大小写的字母加特殊符号是否更安全？–不会。从现代密码学的加密过程我们可以知道，密码最终存储的都是0和1的组合，因此对密码安全起最大作用的，其实是密码的长度。相反，越是短的密码，越是常见的密码则越容易被破解。要提高密码安全，不妨将密码改成允许的最大长度。</p>
<p>密码学总是在信息流动量突然增加时飞速进展，信息流动频繁，会相继破解和新增加密法，随着数学工具和计算机的加入，信息加密的过程甚至可以公开，钥匙的复杂性成为关键。信息的价值永远大于武器，现代战争任何一方的武器都可以摧毁对方的武器装备，因此武器对战局影响已经不太大，反而知道对方的作战计划才最重要，密码学的重要性将日益提高。由于保密法的存在，当前的破解法均是已经公开解密的内容，实际上很多破解方法现今为止尚未公开。</p>
<p>从隐藏法到量子加密法，什么算“好用”的加密法？如果认为密码强度高，破解不了就是好用，这实在是对密码最大的误解。就像“维吉尼亚加密法”，就是因为太繁琐，导致它被发明200年内几乎没人使用。所以说，真正好用的密码，是在安全性和效率上找到平衡点。</p>

    </div>

    
    
    
        

  <div class="followme">
    <p>欢迎关注我的其它发布渠道</p>

    <div class="social-list">

        <div class="social-item">
          <a target="_blank" class="social-link" href="/images/wechat_channel.jpg">
            <span class="icon">
              <i class="fab fa-weixin"></i>
            </span>

            <span class="label">WeChat</span>
          </a>
        </div>
    </div>
  </div>


      <footer class="post-footer">
          <div class="post-tags">
              <a href="/tags/%E7%A4%BE%E7%A7%91/" rel="tag"># 社科</a>
              <a href="/tags/%E5%AF%86%E7%A0%81%E5%AD%A6/" rel="tag"># 密码学</a>
          </div>

        


        
    <div class="post-nav">
      <div class="post-nav-item">
    <a href="/2023/04/08/%E9%9D%9E%E6%9A%B4%E5%8A%9B%E6%B2%9F%E9%80%9A%E2%80%94%E5%A6%82%E4%BD%95%E8%BF%90%E7%94%A8%E9%9D%9E%E6%9A%B4%E5%8A%9B%E6%B2%9F%E9%80%9A%EF%BC%8C%E6%94%B9%E5%8F%98%E8%87%AA%E5%B7%B1%E7%9A%84%E4%BA%BA%E7%94%9F%E8%B5%B0%E5%90%91%EF%BC%9F/" rel="prev" title="非暴力沟通—如何运用非暴力沟通，改变自己的人生走向？">
      <i class="fa fa-chevron-left"></i> 非暴力沟通—如何运用非暴力沟通，改变自己的人生走向？
    </a></div>
      <div class="post-nav-item">
    <a href="/2023/04/23/%E5%A6%82%E4%BD%95%E9%98%85%E8%AF%BB%E4%B8%80%E6%9C%AC%E4%B9%A6/" rel="next" title="如何阅读一本书">
      如何阅读一本书 <i class="fa fa-chevron-right"></i>
    </a></div>
    </div>
      </footer>
    
  </article>
  
  
  



          </div>
          

<script>
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
          <div class="post-toc motion-element"><ol class="nav"><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%AF%86%E7%A0%81%E5%AD%A6%E7%9A%84%E5%8E%86%E5%8F%B2"><span class="nav-number">1.</span> <span class="nav-text">密码学的历史</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#%E5%AF%86%E7%A0%81%E6%80%8E%E4%B9%88%E8%AE%BE%E7%BD%AE%E6%89%8D%E5%AE%89%E5%85%A8"><span class="nav-number">2.</span> <span class="nav-text">密码怎么设置才安全</span></a></li></ol></div>
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
  <p class="site-author-name" itemprop="name">叨叨的三白</p>
  <div class="site-description" itemprop="description">浮生若梦，为欢几何</div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives">
          <span class="site-state-item-count">13</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
            <a href="/categories/">
          
        <span class="site-state-item-count">1</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
            <a href="/tags/">
          
        <span class="site-state-item-count">19</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>



      </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 
  <span itemprop="copyrightYear">2023</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">叨叨的三白</span>
    <span class="post-meta-divider">|</span>
    <span class="post-meta-item-icon">
      <i class="fa fa-chart-area"></i>
    </span>
    <span title="站点总字数">30k</span>
    <span class="post-meta-divider">|</span>
    <span class="post-meta-item-icon">
      <i class="fa fa-coffee"></i>
    </span>
    <span title="站点阅读时长">27 分钟</span>
</div>
  <div class="powered-by">由 <a href="https://hexo.io/" class="theme-link" rel="noopener" target="_blank">Hexo</a> & <a href="https://pisces.theme-next.org/" class="theme-link" rel="noopener" target="_blank">NexT.Pisces</a> 强力驱动
  </div>

        
<div class="busuanzi-count">
  <script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    <span class="post-meta-item" id="busuanzi_container_site_uv" style="display: none;">
      <span class="post-meta-item-icon">
        <i class="fa fa-user"></i>
      </span>
      <span class="site-uv" title="总访客量">
        <span id="busuanzi_value_site_uv"></span>
      </span>
    </span>
    <span class="post-meta-divider">|</span>
    <span class="post-meta-item" id="busuanzi_container_site_pv" style="display: none;">
      <span class="post-meta-item-icon">
        <i class="fa fa-eye"></i>
      </span>
      <span class="site-pv" title="总访问量">
        <span id="busuanzi_value_site_pv"></span>
      </span>
    </span>
</div>








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/pisces.js"></script>


<script src="/js/next-boot.js"></script>




  















  

  

</body>
</html>
